<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<title>Document</title>
<style>
  .box{
    width: 200px;
    height: 200px;
    background-color: tomato;
    margin: 30px auto;
  }
  .fade-enter{
    transform: translateX(-500px) rotate(720deg);
    opacity: 0;
  }
  .fade-enter-active,
  .fade-leave-active{
    transition: all 1s;
  }
  .fade-leave-to{
    transform: translateY(500px) scale(.1);
    opacity: 0;
  }
</style>
</head>
<body>

  <div id='app'>
    <button @click="isShow = !isShow">{{ isShow?'消失':'显示'}}</button>
    <transition name="fade">
      <div v-if="isShow" class="box"></div>
    </transition>
  </div>

<script src='https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.js'></script>
<script>

  const app = new Vue({
    el: '#app'
    ,data: {
      isShow: false
    }
    ,methods: {

    }
  })
</script>
</body>
</html>